//routes/banner.js使用的路由处理函数
//导入banner操作器
const {BannerModel}=require('../db/model')
//获取轮播图列表处理函数
const list=async (req,res)=>{
    // res.send({
    //     code:1,
    //     message:'你来到了获取轮播图列表路由处理函数'
    // })
    //先存几条数据
    // BannerModel({
    //     title:'千锋教育',
    //     img_url:'/public/banner/004.jpg',
    // }).save()
    const result =await BannerModel.find()
    const list=[]
    result.forEach(item=>{
        list.push({
            id:item._id,
            title:item.title,
            img_url:item.img_url,
            link:item.link,
            createTime:new Date(item.creatTime).getTime()
        })
    })
    res.send({
        code:1,
        message:'获取轮播图列表成功！',
        list
    })
}
//增加一张轮播图列表处理函数
const add=async (req,res)=>{
//1.直接拿到参数就行
const {title,link,img_url}=req.body
//2.向数据库中添加信息,但首先应该先检查一下原来数据库中 的图片信息,我们规定,最多6张
const total=(await (BannerModel.find())).length
if(total>=7) return res.send({code:0,message:'添加轮播图失败,数量已达到上限!'})
//插入数据库
const result=await BannerModel({title,link,img_url}).save()
// console.log(result);
if(result) res.send({code:1,message:'添加轮播图成功!'})
}
// 删除一张轮播图
const remove =async (req,res)=>{
    // res.send({message:'删除逻辑'})
    //拿到id
    const {id}=req.params
    //拿到当前轮播图的总数
    const total=(await (BannerModel.find())).length
    if(total<=3) return res.send({code:0,message:'删除轮播图失败,数量已达到下限'})
    //执行删除操作
    await BannerModel.findByIdAndDelete(id)
    //返回给前端结果
    res.send({code:1,message:'删除成功!'})
}
//获取一条信息
const info=async (req,res)=>{
    // res.send({message:'获取轮播图详细信息'})

    //拿到id信息
    const {id}=req.params
    //根据id获取信息
    const result=await BannerModel.findById(id)
    //返回给前端信息
    res.send({
        code:1,
        message:'获取轮播图列表信息成功!',
        info:{
            id:result._id,
            title:result.title,
            img_url:result.img_url,
            link:result.link
        }
    })

}
//修改一条轮播图信息
const update=async (req,res)=>{
    // res.send({message:'修改轮播图'})
    //获取到信息
    const {id,title,link,img_url}=req.body
    //数据库操作修改信息
    await BannerModel.findByIdAndUpdate(id,{title,link,img_url})
    //返回给前端信息
    res.send({code:1,message:'修改信息成功'})
}
// 导出相关路由函数
module.exports={
    list,
    add,
    remove,
    info,
    update
}